<?php

class TipoContaController extends Zend_Controller_Action {
	
	public function init() {
		/*
		 * Initialize action controller here
		 */
	}
	
	public function indexAction() {
		// action body
	}
	
	public function createAction() {
		$frm = new Application_Form_TipoConta ();
		$frm->setAction ( 'create' )->setMethod ( 'post' );
		
		// Há dados para Tratamento?
		if ($this->getRequest ()->isPost ()) {
			
			// Pegamos os Dados como Foram Enviados
			$data = $this->getRequest ()->getPost ();
			// Solicitamos ao Formulário que Verifique os Dados
			// Preenchimento dos Dados no Formulário
			if ($frm->isValid ( $data )) {
				
				$mdl = new Application_Model_TipoConta ();
				// Dados Filtrados pelo Formulário
				$data = $frm->getValues ();
				
				$mdl->insert ( $data );
				
				$this->_forward ( 'list' );
				// Qualquer Manipulação de Dados
			
			}
		
		}
		$this->view->form = $frm;
	
	}
	
	public function listAction() 
	{
		$frm = new Application_Form_TipoConta ();
		$frm->setAction ( 'create' )->setMethod ( 'post' );
		$this->view->form = $frm;
		$mdl = new Application_Model_TipoConta ();
		$this->view->data = $mdl->selectAll ();
	}
	
	public function updateAction() 
	{
		$mdl = new Application_Model_TipoConta ();
		$frm = new Application_Form_TipoConta ();
		$frm->setAction ('/home/public/index.php/tipo-conta/update/' )->setMethod ('post');
		if ($this->getRequest ()->isPost ()) 
		{
			if ($frm->isValid ( $_POST )) 
			{
				// if the form is valid then update the bug
				$data = $frm->getValues ();
				$result = $mdl->update($data,$mdl->getAdapter()->quoteInto('id_tipo_contas = ?', $this->getRequest()->getParam('id_tipo_contas')) );
				return $this->_forward ( 'list' );
			}
		}
		else 
		{
			$id = $this->_request->getParam ( 'id_tipo_conta' );
			$row = $mdl->selectRow( $id );
			$data = array(
						'id_tipo_contas'	=> $row['id_tipo_contas'],
						'descricao'			=> $row['descricao']
					);
			$frm->populate ( $data );
		}
		$this->view->form = $frm;
	}
	
	public function deleteAction() {
		$mdl = new Application_Model_TipoConta ();
		$mdl->delete ( $mdl->getAdapter ()->quoteInto ( 'id_tipo_contas = ?', $this->getRequest ()->getParam ( 'id_tipo_conta' ) ) );
		$this->_forward ( 'list' );
	}

}









